Public Class Form1
    Private arrEmpregados As New ArrayList

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim intIndice As Integer

        'Adiciona 10 objetos do tipo Empregado ao array
        For intIndice = 0 To 9
            arrEmpregados.Add(New clsEmpregado("Empregado " & intIndice.ToString()))
        Next intIndice

        'Para cada objeto do array de Empregados adociona um conjunto de contas
        Dim objEmpregado As clsEmpregado

        For Each objEmpregado In arrEmpregados
            For intIndice = 0 To 3
                objEmpregado.Contas.Add(New clsConta("Conta " & intIndice.ToString))
            Next intIndice
        Next objEmpregado

        TreeView1.BeginUpdate()
        TreeView1.Nodes.Clear()

        Dim NoRaiz = New TreeNode("Empregados")
        TreeView1.Nodes.Add(NoRaiz)

        For Each objEmpregado In arrEmpregados
            TreeView1.Nodes(0).Nodes.Add(New TreeNode(objEmpregado.Nome))

            Dim objConta As clsConta

            For Each objConta In objEmpregado.Contas
                TreeView1.Nodes(0).Nodes(arrEmpregados.IndexOf(objEmpregado)).Nodes.Add(New TreeNode(objConta.Codigo))
            Next objConta
        Next objEmpregado

        TreeView1.EndUpdate()
    End Sub
End Class

Public Class clsEmpregado
    Public Nome As String
    Public Contas As New ArrayList

    Public Sub New(ByVal xNome As String)
        Nome = xNome
    End Sub
End Class

Public Class clsConta
    Public Codigo As String
    
    Public Sub New(ByVal xCodigo As String)
        Codigo = xCodigo
    End Sub
End Class